package com.example.saiweisi.service.interf;

import com.example.saiweisi.controller.dto.UserDTO;
import com.example.saiweisi.controller.request.AddUserRequest;
import com.example.saiweisi.controller.request.UserLoginRequest;
import com.example.saiweisi.model.User;

public interface IUserService {
    UserDTO login(UserLoginRequest request);

    UserDTO loginByEmail(UserLoginRequest request);

    void sendCode(String email);

    Long register(UserLoginRequest request);

    Long add(AddUserRequest request);

    void sendCodeToRegister(String email);

    void sentEmailCodeToForgetPassword(String email, Integer userNum);

    void forgetPassword(UserLoginRequest request);

    void saveUserInfo(User user);

    void sendCodeToUpdateEmail(String email);

    void updateEmail(UserLoginRequest request);

    int searchByuserNum(String userNum);
}
